'http://www.google.com/finance/getprices?' \
'i={interval}&p={days}d&f=d,o,h,l,c,v&df=cpct&q={ticker}'
+
def _data_to_csv(data, ticker, interval):
lines = []
series = None
content = await resp.text()
return _data_to_csv(content, ticker, interval)
+
async def save_google_finance_data(fn, ticker, interval, days):
"""Returns Google Finance Data in CSV format.
with open(fn, 'w') as f:
f.write(csv_data)
+
async def print_google_finance_data(ticker, interval, days):
"""Prints Google Finance Data in CSV format.
:param days: The historical data period in days
:return: None
"""
- print (await get_google_finance_data(ticker, interval, days))
+ print(await get_google_finance_data(ticker, interval, days))
if __name__ == '__main__':
parser = argparse.ArgumentParser()
ticker=args.ticker,
interval=args.interval,
days=args.days))
-
if datetime.datetime.strptime(
args.start_date, '%Y-%m-%d') >= datetime.datetime.today():
exit('start date must be a date before today.')
- except:
+ except Exception:
exit('invalid date: {}'.format(args.start_date))
setup_logger(args)
return False
+
if __name__ == '__main__':
SiriDB.LOG_LEVEL = 'INFO'
Server.HOLD_TERM = True
await self.client1.query('alter group `two` set expression /.2/'),
{'success_msg': "Successfully updated group 'two'."})
-
time.sleep(3)
result = await self.client0.query('list series `a` & `two`')
self.assertEqual(sorted(result.pop('series')), [['a2']])
result = await self.client0.query('list series `a` | `two`')
- self.assertEqual(sorted(result.pop('series')), [['a1'], ['a2'], ['b2'], ['c2']])
+ self.assertEqual(
+ sorted(result.pop('series')),
+ [['a1'], ['a2'], ['b2'], ['c2']])
result = await self.client0.query('list series `a` ^ `two`')
- self.assertEqual(sorted(result.pop('series')), [['a1'], ['b2'], ['c2']])
+ self.assertEqual(
+ sorted(result.pop('series')),
+ [['a1'], ['b2'], ['c2']])
result = await self.client0.query('list series `a` - `two`')
self.assertEqual(sorted(result.pop('series')), [['a1']])
result = await self.client0.query('list series `a`, `two` - "c2"')
- self.assertEqual(sorted(result.pop('series')), [['a1'], ['a2'], ['b2']])
+ self.assertEqual(
+ sorted(result.pop('series')),
+ [['a1'], ['a2'], ['b2']])
result = await self.client0.query('list series `a`, `two` & "c2"')
self.assertEqual(sorted(result.pop('series')), [['c2']])
return False
+
if __name__ == '__main__':
SiriDB.LOG_LEVEL = 'CRITICAL'
Server.HOLD_TERM = True
class TestList(TestBase):
title = 'Test list'
- GEN_POINTS = functools.partial(gen_points, n=1, time_precision=TIME_PRECISION)
-
+ GEN_POINTS = functools.partial(
+ gen_points, n=1, time_precision=TIME_PRECISION)
@default_test_setup(1, time_precision=TIME_PRECISION)
async def run(self):
await self.client0.query('alter database set list_limit 5000')
with self.assertRaisesRegexp(
QueryError,
- 'Limit must be a value between 0 and 5000 but received: 6000.*'):
+ 'Limit must be a value between 0 and 5000 '
+ 'but received: 6000.*'):
await self.client0.query(
'list series limit 6000')
if os.path.exists(PIPE_NAME):
os.unlink(PIPE_NAME)
+
class TestPipeSupport(TestBase):
title = 'Test pipe support object'
-
@default_test_setup(1, pipe_name=PIPE_NAME)
async def run(self):
await client.insert_some_series(series, n=0.01, timeout=timeout)
await asyncio.sleep(1.0)
-
@default_test_setup(4)
async def run(self):
self.assertEqual(
await self.client0.query(
'select filter(/l.*/) from * where type == string'),
- {'log': [p for p in DATA['log'] if re.match('l.*', p[1])]})
+ {'log': [p for p in DATA['log'] if re.match('l.*', p[1])]})
self.assertEqual(
await self.client0.query(
PI = 'ԉ'
-Klingon = ' qajunpaQHeylIjmo’ batlh DuSuvqang charghwI’ ‘It.'
+Klingon = ' ' + \
+ 'qajunpaQHeylIjmo’ batlh DuSuvqang charghwI’ ‘It.'
+
class TestSeries(TestBase):
title = 'Test series object'
class TestSyslog(TestBase):
title = 'Test with syslog data'
-
async def insert_syslog(self, batch_size=100):
with open(SYSLOG, 'r') as f:
return False
+
if __name__ == '__main__':
SiriDB.LOG_LEVEL = 'CRITICAL'
Server.HOLD_TERM = True
'Password should be at least 4 characters.'):
await self.client0.query('create user "aa" set password "123" ')
- result = await self.client0.query('create user "sasientje" set password "blabla" ')
- self.assertEqual(result.pop('success_msg'), "Successfully created user 'sasientje'.")
+ result = await self.client0.query(
+ 'create user "sasientje" set password "blabla" ')
+ self.assertEqual(
+ result.pop('success_msg'),
+ "Successfully created user 'sasientje'.")
result = await self.client0.query('list users where access < modify ')
self.assertEqual(result.pop('users'), [['sasientje', 'no access']])
result = await self.client0.query('grant modify to user "sasientje" ')
- self.assertEqual(result.pop('success_msg'), "Successfully granted permissions to user 'sasientje'.")
+ self.assertEqual(
+ result.pop('success_msg'),
+ "Successfully granted permissions to user 'sasientje'.")
await self.db.add_replica(self.server1, 0)
await self.assertIsRunning(self.db, self.client0, timeout=10)
result = await self.client1.query('list users where access < full ')
self.assertEqual(result.pop('users'), [['sasientje', 'modify']])
- result = await self.client1.query('revoke write from user "sasientje" ')
- self.assertEqual(result.pop('success_msg'), "Successfully revoked permissions from user 'sasientje'.")
+ result = await self.client1.query(
+ 'revoke write from user "sasientje" ')
+ self.assertEqual(
+ result.pop('success_msg'),
+ "Successfully revoked permissions from user 'sasientje'.")
- result = await self.client1.query('grant show, count to user "sasientje"')
- result = await self.client1.query('list users where access < modify ')
- self.assertEqual(result.pop('users'), [['sasientje', 'alter, count, drop and show']])
+ result = await self.client1.query(
+ 'grant show, count to user "sasientje"')
+ result = await self.client1.query(
+ 'list users where access < modify ')
+ self.assertEqual(
+ result.pop('users'),
+ [['sasientje', 'alter, count, drop and show']])
- result = await self.client1.query('create user "pee" set password "hihihaha" ')
+ result = await self.client1.query(
+ 'create user "pee" set password "hihihaha" ')
time.sleep(0.1)
result = await self.client0.query('list users where name ~ "p"')
self.assertEqual(result.pop('users'), [['pee', 'no access']])
with self.assertRaisesRegexp(
QueryError,
"Password should be at least 4 characters."):
- result = await self.client1.query('alter user "sasientje" set password "dag" ')
+ result = await self.client1.query(
+ 'alter user "sasientje" set password "dag" ')
- result = await self.client1.query('alter user "sasientje" set password "dagdag"')
+ result = await self.client1.query(
+ 'alter user "sasientje" set password "dagdag"')
await self.server0.start(sleep=35)
result = await self.client0.insert({'no access test': [[1, 1.0]]})
result = await self.client1.query('drop user "sasientje" ')
- self.assertEqual(result.pop('success_msg'), "Successfully dropped user 'sasientje'.")
+ self.assertEqual(
+ result.pop('success_msg'),
+ "Successfully dropped user 'sasientje'.")
time.sleep(0.1)
for client in (self.client0, self.client1, self.client2):
result = await client.query('count users')
- self.assertEqual(result.pop('users'), 2, msg='Expecting 2 users (iris and pee)')
+ self.assertEqual(
+ result.pop('users'), 2, msg='Expecting 2 users (iris and pee)')
result = await self.client0.query('count users where name == "pee"')
self.assertEqual(result.pop('users'), 1, msg='Expecting 1 user (pee)')
with self.assertRaisesRegexp(
QueryError,
"^User name contains illegal characters.*"):
- result = await self.client1.query('alter user "pee" set name " p " ')
+ result = await self.client1.query(
+ 'alter user "pee" set name " p " ')
with self.assertRaisesRegexp(
QueryError,
"User 'iris' already exists."):
- result = await self.client1.query('alter user "pee" set name "iris" ')
+ result = await self.client1.query(
+ 'alter user "pee" set name "iris" ')
with self.assertRaisesRegexp(
QueryError,
"User 'iris' already exists."):
- result = await self.client1.query('alter user "pee" set name "iris" ')
+ result = await self.client1.query(
+ 'alter user "pee" set name "iris" ')
with self.assertRaisesRegexp(
QueryError,
"Cannot find user: 'Pee'"):
- result = await self.client1.query('alter user "Pee" set name "PPP" ')
+ result = await self.client1.query(
+ 'alter user "Pee" set name "PPP" ')
result = await self.client1.query('alter user "pee" set name "Pee"')
self.assertEqual(
assert isinstance(test, TestBase)
loop = asyncio.get_event_loop()
cleanup()
- loop.run_until_complete(_run_test(test, loglevel))
\ No newline at end of file
+ loop.run_until_complete(_run_test(test, loglevel))
for s in series[:n]:
s.commit_points()
-
TEST_DIR = './testdir'
SIRIDBC = '../{BUILDTYPE}/siridb-server'
ADMIN = '/usr/local/bin/siridb-admin'
-# VALGRIND = 'valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --track-origins=yes -v '
+VALGRIND = 'valgrind' + \
+ ' --tool=memcheck' + \
+ ' --leak-check=full' + \
+ ' --show-leak-kinds=all' + \
+ ' --track-origins=yes' + \
+ ' -v '
VALGRIND = 'valgrind --tool=memcheck '
MAX_OPEN_FILES = 512 # Default value is 32768 but with valgrind 512 is max
raise exc
else:
self._protocol.on_authenticated()
-
-
for point in self._points:
self.points.append(point)
self._points = None
-
if sleep:
await asyncio.sleep(sleep)
-
-